// pages/details/details.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 详情页数据
    good:{},
    // 购物车商品总数
    totalNum:0,
  },

  // 跳转到首页
  toIndex:function(){
    wx.switchTab({
      url: '/pages/index/index',
    })
  },
  // 跳转到购物车
  toCart:function(){
    wx.switchTab({
      url: '/pages/cart/cart',
    })
  },

  // 加入购物车
  addCart:function(){
    var num = 0
    // 获取购物车的缓存数据
    var carList = wx.getStorageSync('carList')
    // 判断购物车中是否有商品
    if(carList.length == 0){
      // 1、购物车中没有商品，直接添加该商品
      wx.setStorageSync('carList', [this.data.good])
      // 商品数量加一
      num ++
    }else{
      // 中间变量
      var isData = true
      // 2、购物车中有商品
      for(var i=0;i<carList.length;i++){
        // 2.1、商品相同（id相同），数量加一
        if(carList[i].id == this.data.good.id){
          // 对应商品的数量加一
          carList[i].num += 1
          // 修改购物车缓存数据
          wx.setStorageSync('carList', carList)
          isData = false
        }
      }
      // 2.2、商品不相同（id不相同），添加该商品
      if(isData){
        // 数组在头部添加数据   unshift()
        carList.unshift(this.data.good)
        // 修改购物车缓存数据
        wx.setStorageSync('carList', carList)
      }
      // 计算商品总数
      for(var i=0;i<carList.length;i++){
        num += carList[i].num
      }
    }
    this.setData({
      totalNum:num
    })
  },

  // 立即购买
  toPay:function(){
    // 将详情页的数据替换原本完成订单页面的缓存数据
    wx.setStorageSync('confirmList', [this.data.good])
    // 跳转页面到完成订单页面
    wx.navigateTo({
      url: '/pages/confirmorder/confirmorder?type=d',
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // 定义购物车商品数据
    var num = 0
    // 计算购物车的商品总数
    var carList = wx.getStorageSync('carList')
    // 判断购物车中是否有商品
    if(carList.length != 0){
      for(var i=0;i<carList.length;i++){
        // 计算购物车的商品总数
        num += carList[i].num
      }
    }else{
      num = 0
    }
    // 修改data的数据
    this.setData({
      good:wx.getStorageSync('detailsList'),
      totalNum:num
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})